if(typeof(GMP_DATA)=='undefined')
var GMP_DATA={};
if(isNumber(GMP_DATA.animationSpeed))
GMP_DATA.animationSpeed=parseInt(GMP_DATA.animationSpeed);
else if(jQuery.inArray(GMP_DATA.animationSpeed, ['fast', 'slow'])==-1)
GMP_DATA.animationSpeed='fast';
GMP_DATA.showSubscreenOnCenter=parseInt(GMP_DATA.showSubscreenOnCenter);
var sdLoaderImgGmp='';
var g_gmpAnimationSpeed=300;
jQuery.fn.showLoaderGmp=function(){
return jQuery(this).html(sdLoaderImgGmp);
};
jQuery.fn.appendLoaderGmp=function(){
jQuery(this).append(sdLoaderImgGmp);
};
jQuery.sendFormGmp=function(params){
return jQuery('
').sendFormGmp(params);
};
jQuery.fn.sendFormGmp=function(params){
var form=null;
if(!params)
params={fid: false, msgElID: false, onSuccess: false};
if(params.fid)
form=jQuery('#'+ fid);
else
form=jQuery(this);
var sentFromForm=(jQuery(form).tagName()=='FORM');
var data=new Array();
if(params.data)
data=params.data;
else if(sentFromForm)
data=jQuery(form).serialize();
if(params.appendData){
var dataIsString=typeof(data)=='string';
var addStrData=[];
for(var i in params.appendData){
if(dataIsString){
if(toeInArray(typeof(params.appendData[i], ['object', 'array']))){
for(var j in params.appendData[i]){
addStrData.push(i+ '['+ j+ ']'+ '='+ params.appendData[i][j]);
}}else{
addStrData.push(i+ '='+ params.appendData[i]);
}} else
data[i]=params.appendData[i];
}
if(dataIsString)
data +='&'+ addStrData.join('&');
}
var msgEl=null;
if(params.msgElID){
if(params.msgElID=='noMessages')
msgEl=false;
else if(typeof(params.msgElID)=='object')
msgEl=params.msgElID;
else
msgEl=jQuery('#'+ params.msgElID);
}
if(typeof(params.inputsWraper)=='string'){
form=jQuery('#'+ params.inputsWraper);
sentFromForm=true;
}
if(sentFromForm&&form){
jQuery(form).find('*').removeClass('gmpInputError');
}
if(msgEl&&!params.btn){
jQuery(msgEl).removeClass('gmpSuccessMsg')
.removeClass('gmpErrorMsg')
.showLoaderGmp();
}
if(params.btn){
jQuery(params.btn).attr('disabled', 'disabled');
params.btnIconElement=jQuery(params.btn).find('.fa').length ? jQuery(params.btn).find('.fa'):jQuery(params.btn);
if(jQuery(params.btn).find('.fa').length){
params.btnIconElement
.data('prev-class', params.btnIconElement.attr('class'))
.attr('class', 'fa fa-spinner fa-spin');
}}
var url='';
if(typeof(params.url)!='undefined')
url=params.url;
else if(typeof(ajaxurl)=='undefined')
url=GMP_DATA.ajaxurl;
else
url=ajaxurl;
jQuery('.gmpErrorForField').hide(GMP_DATA.animationSpeed);
var dataType=params.dataType ? params.dataType:'json';
if(typeof(data)=='string'){
data +='&pl='+ GMP_DATA.GMP_CODE;
data +='&reqType=ajax';
}else{
data['pl']=GMP_DATA.GMP_CODE;
data['reqType']='ajax';
}
jQuery.ajax({
url: url,
data: data,
type: 'POST',
dataType: dataType,
success: function(res){
toeProcessAjaxResponseGmp(res, msgEl, form, sentFromForm, params);
if(params.clearMsg){
setTimeout(function(){
if(msgEl)
jQuery(msgEl).animateClear();
}, typeof(params.clearMsg)=='boolean' ? 5000:params.clearMsg);
}}
});
};
jQuery.fn.animateClear=function(){
var newContent=jQuery(''+ jQuery(this).html()+ '');
jQuery(this).html(newContent);
jQuery(newContent).hide(GMP_DATA.animationSpeed, function(){
jQuery(newContent).remove();
});
};
jQuery.fn.animateRemoveGmp=function(animationSpeed, onSuccess){
animationSpeed=animationSpeed==undefined ? GMP_DATA.animationSpeed:animationSpeed;
jQuery(this).hide(animationSpeed, function(){
jQuery(this).remove();
if(typeof(onSuccess)==='function')
onSuccess();
});
};
function toeProcessAjaxResponseGmp(res, msgEl, form, sentFromForm, params){
if(typeof(params)=='undefined')
params={};
if(typeof(msgEl)=='string')
msgEl=jQuery('#'+ msgEl);
if(msgEl)
jQuery(msgEl).html('');
if(params.btn){
jQuery(params.btn).removeAttr('disabled');
if(params.btnIconElement){
params.btnIconElement.attr('class', params.btnIconElement.data('prev-class'));
}}
if(typeof(res)=='object'){
if(res.error){
if(msgEl){
jQuery(msgEl).removeClass('gmpSuccessMsg')
.addClass('gmpErrorMsg');
}
var errorsArr=[];
for(var name in res.errors){
if(sentFromForm){
var inputError=jQuery(form).find('[name*="'+ name+ '"]');
inputError.addClass('gmpInputError');
if(inputError.attr('placeholder')){
}
if(!inputError.data('keyup-error-remove-binded')){
inputError.keydown(function(){
jQuery(this).removeClass('gmpInputError');
}).data('keyup-error-remove-binded', 1);
}}
if(jQuery('.gmpErrorForField.toe_'+ nameToClassId(name)+ '').exists())
jQuery('.gmpErrorForField.toe_'+ nameToClassId(name)+ '').show().html(res.errors[name]);
else if(msgEl)
jQuery(msgEl).append(res.errors[name]).append('
');
else
errorsArr.push(res.errors[name]);
}
if(errorsArr.length&¶ms.btn){
jQuery('